View Javadoc
1 package net.plugin.sql.gui;
2
3 /*
4 * Created by IntelliJ IDEA.
5 * User: birchfield
6 * Date: Aug 18, 2002
7 * Time: 2:12:56 PM
8 * To change template for new class use
9 * Code Style | Class Templates options (Tools | IDE Options).
10 */
11
12 import net.plugin.sql.beans.DataSource;
13 import net.plugin.sql.listeners.*;
14
15 import javax.swing.*;
16 import java.awt.event.*;
17 import java.awt.BorderLayout;
18 import java.util.*;
19
20 public class SQLFrame extends JInternalFrame implements TableSelectionListener, ItemListener, ActionListener {
21
22 private Collection adhocQueryListeners = null;
23
24 private JSplitPane splitPane = null;
25
26 private SQLDataPanel treePanel = null;
27
28 private SQLDataTablePanel tablePanel= null;
29
30 private DataSource dataSource = null;
31
32 private JTabbedPane tabbedTablePane = null;
33 private JTabbedPane tabbedDataPane = null;
34
35 private JScrollPane treePane = null;
36 private JMenuBar menuBar = null;
37 private JMenu sqlMenu = null;
38 private JMenuItem sqlQueryItem = null;
39
40 public SQLFrame(DataSource dataSource) {
41 super(dataSource.getName(), true, true, true, true);
42 getContentPane().setLayout(new BorderLayout());
43 this.dataSource = dataSource;
44 adhocQueryListeners = new ArrayList();
45
46 menuBar = new JMenuBar();
47 sqlMenu = new JMenu("SQL");
48 menuBar.add(sqlMenu);
49 sqlQueryItem = new JMenuItem("SQL Query Window");
50 sqlQueryItem.addItemListener(this);
51 sqlQueryItem.addActionListener(this);
52 sqlMenu.add(sqlQueryItem);
53 getContentPane().add(menuBar, BorderLayout.NORTH);
54
55 tabbedTablePane = new JTabbedPane();
56 tabbedDataPane = new JTabbedPane();
57 treePanel = new SQLDataPanel(dataSource);
58 treePane = new JScrollPane(treePanel);
59 tabbedTablePane.addTab("Tables", treePane);
60 treePanel.addTableSelectionListener(this);
61
62 tablePanel = new SQLDataTablePanel(dataSource);
63 tabbedDataPane.addTab("Data", tablePanel);
64
65
66 splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, tabbedTablePane, tablePanel);
67 splitPane.setDividerLocation(250);
68 getContentPane().add(splitPane, BorderLayout.CENTER);
69 }
70
71 public void tableSelected(String tableName) {
72 tablePanel.setTableName(tableName);
73 }
74
75 public void itemStateChanged(ItemEvent e) {
76 System.out.println("SQLFrame.itemStateChanged");
77 notifyAdhocQueryListeners(dataSource);
78 }
79
80 public void actionPerformed(ActionEvent e) {
81 System.out.println("SQLFrame.actionPerformed");
82 notifyAdhocQueryListeners(dataSource);
83 }
84
85
86
87 private void notifyAdhocQueryListeners(DataSource dataSource) {
88 for (Iterator iterator = adhocQueryListeners.iterator(); iterator.hasNext();) {
89 AdhocQuerySelectionListener adhocQuerySelectionListener = (AdhocQuerySelectionListener) iterator.next();
90 adhocQuerySelectionListener.adhocQuerySelected(dataSource);
91 }
92 }
93
94 public void addAdhocQuerySelectionListener(AdhocQuerySelectionListener listener) {
95 adhocQueryListeners.add(listener);
96 }
97
98 public static void main(String[] args) {
99 JFrame frame = new JFrame("Test");
100 JDesktopPane pane = new JDesktopPane();
101 DataSource ds = new DataSource();
102 ds.setName("Test");
103 ds.setDriver("oracle.jdbc.driver.OracleDriver");
104 ds.setUrl("jdbc:oracle:thin:@hades.genscape.com:1581:test");
105 ds.setUser("genscape");
106 ds.setPassword("gentest");
107 SQLFrame frme = new SQLFrame(ds);
108 frme.setSize(400, 300);
109 frme.setVisible(true);
110 pane.add(frme);
111 frame.getContentPane().add(pane);
112 frame.setSize(500, 500);
113 frame.show();
114 }
115
116
117 }
This page was automatically generated by Maven